insert into asm_estr_paol_BF
select  
     bollette_forniture.CODICE_CONTRATTO as COD_CONTR,
     bollette_forniture.CODICE_BOLLETTA,
     bollette_forniture.CODICE_AC as AC,
     '',
     bollette_forniture.data_inizio_c as dt_let_in,
     bollette_forniture.data_fine_c as  dt_let_fin,
     case when bollette_forniture.data_inizio_c is null then '' else  bollette_forniture.LETTURA_INIZIO_C end as letinic1,
     case when bollette_forniture.data_inizio_c is null then '' else  bollette_forniture.LETTURA_fine_C end as letfinec1,   
     case when bollette_forniture.data_inizio_c is null then '' else  bollette_forniture.consumo_c end as cons1,    
        bollette_forniture.CONSUMO_FATTURATO_T as consfa,
     
        bollette_forniture_ls.LETTURA_INIZIO_C2 as letinic2,
        bollette_forniture_ls.LETTURA_FINE_C2 as letfinec2,
        bollette_forniture_ls.consumo_c2 as CONS2,
        bollette_forniture_ls.LETTURA_INIZIO_C3 as letinic3,
        bollette_forniture_ls.LETTURA_FINE_C3 as letfinec3,
        bollette_forniture_ls.consumo_c3 as CONS3,
        bollette_forniture_ls.LETTURA_INIZIO_C4 as letinic4,
        bollette_forniture_ls.LETTURA_FINE_C4 as letfinec4,
        bollette_forniture_ls.consumo_c4 as CONS4,
        bollette_forniture_ls.LETTURA_INIZIO_R1 as letinir1,
        bollette_forniture_ls.LETTURA_FINE_R1 as   letfiner1,
        bollette_forniture_ls.consumo_r1 as CONS_R1,
        bollette_forniture_ls.LETTURA_INIZIO_R2 as letinir2,
        bollette_forniture_ls.LETTURA_FINE_R2 as   letfiner2,
        bollette_forniture_ls.consumo_r2 as CONS_R2,
        bollette_forniture_ls.LETTURA_INIZIO_R3 as letinir3,
        bollette_forniture_ls.LETTURA_FINE_R3 as   letfiner3,
        bollette_forniture_ls.consumo_r3 as CONS_R3,
        bollette_forniture_ls.LETTURA_INIZIO_R4 as letinir4,
        bollette_forniture_ls.LETTURA_FINE_R4 as   letfiner4,
        bollette_forniture_ls.consumo_r4 as CONS_R4,
        bollette_forniture_ls.INDICE_MASSIMA_1 as pmax_1,
        bollette_forniture_ls.INDICE_MASSIMA_2 as pmax_2,
        bollette_forniture_ls.INDICE_MASSIMA_3 as pmax_3,
        bollette_forniture_ls.INDICE_MASSIMA_4 as pmax_4,
        BOLLETTE.ANNO_BOLLETTAZIONE,
        BOLLETTE.MESE_BOLLETTAZIONE,
        BOLLETTE.CODICE_TIPO_BOLLETTA ,
    
     --decode (ut.CODICE_MODELLO_CONTATORE_2,'M8AP','SKC','M8OP','SKC'  ,'M6AP','SKC','M6OP','SKC' ,'')                                    
      ( select distinct'SKC' from contatori_movimenti cm where cm.codice_contratto=   bollette_forniture.CODICE_CONTRATTO 
                                                                                                    and    bollette_forniture.DATA_FINE_C=cm.DATA_MOVIMENTO
                                                                                                    and cm.codice_servizio ='E'
                                                                                                    and codice_modello_contatore in ('M8AP','M8OP'  ,'M6AP','M6OP')  )                               
                                                
                                                
                                                
        
    from bollette_forniture,bollette_forniture_ls,bollette --,utenze ut,forniture fu
            
             where
    --        fu.codice_gestione='ASM'
      --   and fu.codice_servizio='E'
     --    and ut.codice_servizio='E'
     --      and ut.codice_gestione='ASM'
     --        and fu.codice_contratto=bollette_forniture.CODICE_CONTRATTO 
     --       and ut.codice_allacciamento=fu.codice_allacciamento
       --and ut.progressivo_utenza=fu.progressivo_utenza
             
             
     bollette_forniture.codice_bolletta = bollette.codice_bolletta
             and bollette.CODICE_GESTIONE = 'ASM'
            -- and bollette.codice_bolletta=12180582
         
             and BOLLETTE.MESE_BOLLETTAZIONe <= 
      case when ^mese bollettazione xx ( se 0 tutte);N;Numerico^^ = 0 then 9999 
      else ^mese bollettazione xx( se 0 tutte);N;Numerico;1^^ end
      and BOLLETTE.MESE_BOLLETTAZIONe >= case when ^mese bollettazione xx ( se 0 tutte);N;Numerico;1^^ = 0 then 0 
      else ^mese bollettazione xx ( se 0 tutte);N;Numerico;1^^  end
             
             AND BOLLETTE.ANNO_BOLLETTAZIONE = ^Anno bollettazione AAAA ;N;Numerico^^
          
             --AND BOLLETTE.MESE_BOLLETTAZIONE =01
             --AND BOLLETTE.ANNO_BOLLETTAZIONE = 2010
       
            and BOLLETTE.PROGRESSIVO_BOLLETTAZIONE <= 
      case when ^Progressivo bollettazione PP ( se 0 tutte);N;Numerico^^ = 0 then 9999 
      else ^Progressivo bollettazione PP ( se 0 tutte);N;Numerico;3^^ end
      and BOLLETTE.PROGRESSIVO_BOLLETTAZIONE >= case when ^Progressivo bollettazione PP ( se 0 tutte);N;Numerico;3^^ = 0 then 0 
      else ^Progressivo bollettazione PP ( se 0 tutte);N;Numerico;3^^  end
            
     
        
       
                 
       and   bollette_forniture.codice_gestione = 'ASM'
       and bollette_forniture.codice_servizio = 'E'
       and bollette_forniture_ls.codice_gestione(+) = bollette_forniture.codice_gestione
       and bollette_forniture_ls.codice_servizio(+) =bollette_forniture.codice_servizio
       and bollette_forniture_ls.codice_contratto(+) =bollette_forniture.codice_contratto
       and bollette_forniture_ls.codice_bolletta(+)= bollette_forniture.codice_bolletta
       and bollette.stato_bolletta = 'F'
       
   